Smultron シンタックス定義から選択した文法を元にドキュメントを色付けします。
(<?php とここには表示されていませんが閉じタグまでのすべては命令文としてグレー表示されます。 <head><title> はコマンド。echo はキーワードです)
keyの例を以下に記します(phpの場合):
beginCommand: < html コマンドの開始
endCommand: >
beginInstruction: <? コードのブロックの始まり
endInstruction: ?>
beginVariable: $ 変数を意味する文字(または文字列)
endVariable: :;(){}=[]+-/.,*!?%&><\ これらは変数名の最後を判別できる文字
firstString: " 一文字だけが文字要素と認められる
secondString: '
firstSingleLineComment: // 一行コメントの開始
secondSingleLineComment: # その他の一行コメントの開始
beginFirstMultiLineComment: /* ブロックコメントの開始
endFirstMultiLineComment: */
beginSecondMultiLineComment: <!-- php コードでの html コメント開始
endSecondMultiLineComment: -->
keywordsCaseSensitive: 大文字、小文字を無視させるときは <false/> を </false> か </true> のように設定してください
recolourKeywordIfAlreadyColoured: <false/> 既に色が付いているものも色を付け直したい時に使用
keywords: <string> と </string> の間はキーワードのリスト
autocompleteWords: <string>この単語</string> をオートコンプリートのリストに追加(そのモードが使用されている場合)
functionDefinition: <string>正規表現</string> 関数の始まりを知るための正規表現を書きます
removeFromFunction: <string>文字列</string> 関数名から取り除く文字列を記述します。例えば関数が定義されている単語を含んでいればそれを取り除いてリスト上で読みやすくします
attributes: あなた自身でこれを定義することはできませんがコマンドの中の = の前の文字として定義されています
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<array>
<plist version="1.0"><dict>
<key>name</key>
<string>PHP</string>
<key>file</key>
<string>php</string>
<key>extensions</key>
<array>
<string>php php3 phtml phtm</string>
</dict>
</plist>
name と言う key は表示メニューに表示されるものであなたが作成したファイル名の .plist と言う拡張子を除いたものです。 extensions と言う key はあなたが作ったものがその拡張子に適用されるかです。
配色:
環境設定で選択するのにどの色にあたるかを理解する簡単な方法は、あなたがよく知っているドキュメントでテストしてみることです。以下の仮の PHP コードを使ったイメージを参考にしてください。
(<?php とここには表示されていませんが閉じタグまでのすべては命令文としてグレー表示されます。 <head><title> はコマンド。echo はキーワードです)
シンタックス定義の変更:
シンタックスの定義はアプリケーションバンドルの plist ファイルに例えば HTML ドキュメントに対しては html.plist のように定義されています(Smultron の上でコントロール-クリックからパッケージの内容を表示を選択して開いた -> Contents -> Resources の中にあります)。もし何かを変更したりキーワードを加えたい場合はこのファイルを変更して保存するだけです(特別な文字は標準の xml 文法に倣って < は < のように記述することを覚えておいてください。また、また文字列を空のまま消し去りたくない場合は <string></string> のように内容を空にしてください)keyの例を以下に記します(phpの場合):
beginCommand: < html コマンドの開始
endCommand: >
beginInstruction: <? コードのブロックの始まり
endInstruction: ?>
beginVariable: $ 変数を意味する文字(または文字列)
endVariable: :;(){}=[]+-/.,*!?%&><\ これらは変数名の最後を判別できる文字
firstString: " 一文字だけが文字要素と認められる
secondString: '
firstSingleLineComment: // 一行コメントの開始
secondSingleLineComment: # その他の一行コメントの開始
beginFirstMultiLineComment: /* ブロックコメントの開始
endFirstMultiLineComment: */
beginSecondMultiLineComment: <!-- php コードでの html コメント開始
endSecondMultiLineComment: -->
keywordsCaseSensitive: 大文字、小文字を無視させるときは <false/> を </false> か </true> のように設定してください
recolourKeywordIfAlreadyColoured: <false/> 既に色が付いているものも色を付け直したい時に使用
keywords: <string> と </string> の間はキーワードのリスト
autocompleteWords: <string>この単語</string> をオートコンプリートのリストに追加(そのモードが使用されている場合)
functionDefinition: <string>正規表現</string> 関数の始まりを知るための正規表現を書きます
removeFromFunction: <string>文字列</string> 関数名から取り除く文字列を記述します。例えば関数が定義されている単語を含んでいればそれを取り除いてリスト上で読みやすくします
attributes: あなた自身でこれを定義することはできませんがコマンドの中の = の前の文字として定義されています
新しい定義を追加する:
もし新しい定義を追加したい場合は内容を記述した上でファイル名は「その言語の名称.plist」のようにしなければなりません(最も簡単な方法はplistファイルをコピーし必要な部分を修正する事です)。それから /Users/<あなたのホームフォルダ>/Library/Application Support/Smultron の中の SyntaxDefinitions.plist ファイルに追加します。このようにすれば良いでしょう。アプリケーションバンドルの中の SyntaxDefinitions.plist のコピーを作り、それを元にするのです。以下に例を示します:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<array>
<plist version="1.0"><dict>
<key>name</key>
<string>PHP</string>
<key>file</key>
<string>php</string>
<key>extensions</key>
<array>
<string>php php3 phtml phtm</string>
</dict>
</plist>
name と言う key は表示メニューに表示されるものであなたが作成したファイル名の .plist と言う拡張子を除いたものです。 extensions と言う key はあなたが作ったものがその拡張子に適用されるかです。